// 定义使用说明
const usage = `
使用说明:
  node calc.js <数学表达式>

示例:
  node calc.js "2 + 3 * 4"
  node calc.js "Math.sqrt(16) + 5"

选项:
  -h, --help    显示此帮助信息
`;

// 获取命令行参数 (第一个参数是node路径，第二个是脚本路径，从第三个开始是用户参数)
const args = process.argv.slice(2);

// 处理参数
if (args.length === 0 || args[0] === '-h' || args[0] === '--help') {
  console.log(usage.trim());
  process.exit(0);
}

// 只取第一个有效表达式（忽略多余参数）
const expression = args[0];

try {
  // 使用安全的方式计算表达式
  // 注意：eval有安全风险，此处仅用于演示
  const result = eval(expression);
  
  // 验证结果是否为有效数字
  if (typeof result === 'number' && !isNaN(result)) {
    console.log(`计算结果: ${result}`);
  } else {
    console.error('错误: 表达式的结果不是有效的数字');
    process.exit(1);
  }
} catch (error) {
  console.error(`错误: 无效的数学表达式 - ${error.message}`);
  process.exit(1);
}
